define([ "jquery", "bootstrap", "template", "bbcare", "oms_config/root","ac/app/applicationCache",
	"ac/app/cacheNavbar",
	"ac/template/cache.tpl"],
function($,$bootstrap,$template,$bb,$root,$applicationCache,$navbar,tpl){
	var defaults,cache = {};

	/**
	 * 获取当前导航
	 */
	var getNavs = function(apps){
		if( apps.length > 0 ){
			return apps[0].menuList;
		}
	}
	
	/**
	 * 退出系统处理
	 */
	var onLogout = function(){
		var config = $root.init();
		window.location.href = config.route.login;
	}

	/**
	 * 最小化(恢复)导航栏
	 */
	var onToggleNavbar = function(){
		$("#bb-tenant").toggleClass("mini");
		$(".sidebar-lc").toggleClass("mini");
		$("#content").toggleClass("max");
	}

	/**
	 * 初始化全局UI
	 */
	var initUI = function(){
		//初始化用户名称
		$("#oms_account_name").text(defaults.account.alias);
		//初始化最小化导航栏事件
		$(".sidebar-toggle").click(onToggleNavbar);
		//初始化登出事件
		$("#logout").click(onLogout);
		//初始化应用列表
		tpl.tenantInit('bb-tenant');
		$('#bb-tenant').html($template("tpl_cache_tenant",{apps:defaults.account.apps}));
		$("#space-free").html( $bb.getLocalStorageSpaceFree() );
		//初始化导航菜单
		$navbar.init({
			navs:getNavs(defaults.account.apps)
		});
	}

	/**
	 * 获取当前登录的账号信息
	 */
	var getCurrUser = function(){
		var account = JSON.parse( $bb.getIocalStorage("cacheNav") );
		if(account == null){
			window.location.href = "login.html?code=301";
		}
		return account;
	}
	
	/**
	 * 初始化方案
	 */
	cache.init = function(){
		defaults = {
			account:getCurrUser()
		};
		initUI();
		//更新应用缓存
		$applicationCache.updateCache();
	}
	
	return cache;
});